export enum EstimateDirection {
  over = 1,
  under = 2,
  none = 3,
}


export enum NodeProp {
  // plan property keys
  NODE_TYPE = "Node Type",
  ACTUAL_ROWS = "Actual Rows",
  PLAN_ROWS = "Plan Rows",
  PLAN_WIDTH = "Plan Width",
  ROWS_REMOVED_BY_FILTER = "Rows Removed by Filter",
  ROWS_REMOVED_BY_JOIN_FILTER = "Rows Removed by Join Filter",
  ACTUAL_STARTUP_TIME = "Actual Startup Time",
  ACTUAL_TOTAL_TIME = "Actual Total Time",
  ACTUAL_LOOPS = "Actual Loops",
  STARTUP_COST = "Startup Cost",
  TOTAL_COST = "Total Cost",
  PLANS = "Plans",
  RELATION_NAME = "Relation Name",
  SCHEMA = "Schema",
  ALIAS = "Alias",
  GROUP_KEY = "Group Key",
  SORT_KEY = "Sort Key",
  SORT_METHOD = "Sort Method",
  SORT_SPACE_TYPE = "Sort Space Type",
  SORT_SPACE_USED = "Sort Space Used",
  JOIN_TYPE = "Join Type",
  INDEX_NAME = "Index Name",
  HASH_CONDITION = "Hash Cond",
  PARENT_RELATIONSHIP = "Parent Relationship",
  SUBPLAN_NAME = "Subplan Name",
  PARALLEL_AWARE = "Parallel Aware",
  WORKERS = "Workers",
  WORKERS_PLANNED = "Workers Planned",
  WORKERS_LAUNCHED = "Workers Launched",
  SHARED_HIT_BLOCKS = "Shared Hit Blocks",
  SHARED_READ_BLOCKS = "Shared Read Blocks",
  SHARED_DIRTIED_BLOCKS = "Shared Dirtied Blocks",
  SHARED_WRITTEN_BLOCKS = "Shared Written Blocks",
  TEMP_READ_BLOCKS = "Temp Read Blocks",
  TEMP_WRITTEN_BLOCKS = "Temp Written Blocks",
  LOCAL_HIT_BLOCKS = "Local Hit Blocks",
  LOCAL_READ_BLOCKS = "Local Read Blocks",
  LOCAL_DIRTIED_BLOCKS = "Local Dirtied Blocks",
  LOCAL_WRITTEN_BLOCKS = "Local Written Blocks",
  IO_READ_TIME = "I/O Read Time",
  IO_WRITE_TIME = "I/O Write Time",
  OUTPUT = "Output",
  HEAP_FETCHES = "Heap Fetches",
  WAL_RECORDS = "WAL Records",
  WAL_BYTES = "WAL Bytes",
  WAL_FPI = "WAL FPI",
  FULL_SORT_GROUPS = "Full-sort Groups",
  PRE_SORTED_GROUPS = "Pre-sorted Groups",
  PRESORTED_KEY = "Presorted Key",

  // computed by pev
  NODE_ID = "nodeId",

  CTE_SCAN = "CTE Scan",
  CTE_NAME = "CTE Name",
  FUNCTION_NAME = "Function Name",

  ARRAY_INDEX_KEY = "arrayIndex",

  PEV_PLAN_TAG = "plan_",
  SLICE = "Slice",
  Node_status = "Node status",
}

export enum NodeStatusEnum {
  Initialize = 'Initialize',
  Executing = 'Executing',
  Finished = 'Finished',
  Unknown = 'Unknown',
}
